home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Tool Chest / Interfaces & Libraries / Interfaces / AIncludes / AppleEvents.a < prev    next >
Encoding:
Text File  |  1993-12-02  |  26.1 KB  |  630 lines  |  [TEXT/MPS ]

  1. ;    File:        AppleEvents.a
  2. ;
  3. ;    Copyright:    © 1983-1993 by Apple Computer, Inc.
  4. ;                All rights reserved.
  5. ;
  6. ;    Version:    System 7.1• for ETO #13
  7. ;    Created:    Tuesday, March 30, 1993 18:00
  8. ;    Modified:    Wed, Dec 1, 1993 17:50:30
  9. ;
  10. ;___________________________________________________________________________
  11.  
  12.  IF &TYPE('__INCLUDINGAPPLEEVENTS__') = 'UNDEFINED' THEN
  13. __INCLUDINGAPPLEEVENTS__   SET 1
  14.  
  15.  IF &TYPE('__INCLUDINGTRAPS__') = 'UNDEFINED' THEN
  16.  INCLUDE 'Traps.a'
  17.  ENDIF
  18.  
  19. ; Apple event descriptor types
  20.  IF &TYPE('__INCLUDINGDATABASEACCESS__') = 'UNDEFINED' THEN
  21.  ; These are defined in DataBaseAccess.a also, so there's no need
  22.  ; to redefine them here (thus preventing an assembler warning)
  23. typeBoolean                 EQU          'bool'
  24. typeChar                 EQU          'TEXT'
  25. typeSMInt                 EQU          'shor'
  26. typeInteger                 EQU          'long'
  27. typeSMFloat                 EQU          'sing'
  28. typeFloat                 EQU          'doub'
  29.  ENDIF
  30. typeLongInteger          EQU          'long'
  31. typeShortInteger         EQU          'shor'
  32. typeLongFloat            EQU          'doub'
  33. typeShortFloat           EQU          'sing'
  34. typeExtended             EQU          'exte'
  35. typeComp                 EQU          'comp'
  36. typeMagnitude            EQU          'magn'
  37. typeAEList               EQU          'list'
  38. typeAERecord             EQU          'reco'
  39. typeAppleEvent             EQU          'aevt'
  40. typeTrue                 EQU          'true'
  41. typeFalse                EQU          'fals'
  42. typeAlias                EQU          'alis'
  43. typeEnumerated           EQU          'enum'
  44. typeType                 EQU          'type'
  45. typeAppParameters        EQU          'appa'
  46. typeProperty             EQU          'prop'
  47. typeFSS                  EQU          'fss '
  48. typeKeyword              EQU          'keyw'
  49. typeSectionH             EQU          'sect'
  50. typeWildCard             EQU          '****'
  51.  
  52. typeApplSignature        EQU          'sign'
  53. typeSessionID            EQU          'ssid'
  54. typeTargetID             EQU          'targ'
  55. typeProcessSerialNumber  EQU          'psn '
  56. typeNull                 EQU          'null'         ;the type of null/nonexistent data
  57.  
  58. ; Keywords for Apple event parameters
  59. keyDirectObject          EQU          '----'
  60. keyErrorNumber           EQU          'errn'
  61. keyErrorString           EQU          'errs'
  62. keyProcessSerialNumber   EQU          'psn '
  63.  
  64. ; keywords used in attributes 
  65. keyTransactionIDAttr     EQU          'tran'
  66. keyReturnIDAttr          EQU          'rtid'
  67. keyEventClassAttr        EQU          'evcl'
  68. keyEventIDAttr           EQU          'evid'
  69. keyAddressAttr           EQU          'addr'
  70. keyOptionalKeywordAttr   EQU          'optk'
  71. keyTimeoutAttr           EQU          'timo'
  72. keyInteractLevelAttr     EQU          'inte'         ;this attribute is read only will be set in AESend
  73. keyEventSourceAttr       EQU          'esrc'         ; this attribute is read only 
  74. keyMissedKeywordAttr     EQU          'miss'         ; this attribute is read only 
  75. keyOriginalAddressAttr     EQU          'from'         ; new in 1.0.1
  76.  
  77. ; keyword used in install special handler 
  78. keyPreDispatch           EQU          'phac'         ; PreHandler Accessor Call 
  79. keySelectProc            EQU          'selh'         ; More selector Call 
  80.  
  81. ; Keyword for recording
  82. keyAERecorderCount         EQU           'recr'         ; available only in vers 1.0.1 and greater
  83.  
  84. ; Keyword for version information
  85. keyAEVersion             EQU          'vers'         ; available only in vers 1.0.1 and greater
  86.  
  87. ; Event Class
  88. kCoreEventClass          EQU          'aevt'
  89.  
  90. ; Event ID's
  91. kAEOpenApplication       EQU          'oapp'
  92. kAEOpenDocuments         EQU          'odoc'
  93. kAEPrintDocuments        EQU          'pdoc'
  94. kAEQuitApplication       EQU          'quit'
  95. kAEAnswer                EQU          'ansr'
  96. kAEApplicationDied       EQU          'obit'
  97. kAECreatorType           EQU          'crea'
  98. kAEQuitAll               EQU          'quia'
  99. kAEShutDown              EQU          'shut'
  100. kAERestart               EQU          'rest'
  101.  
  102. ; constants for use in AESendMode 
  103. kAENoReply               EQU          $00000001      ; Sender doesn't want a reply to event 
  104. kAEQueueReply            EQU          $00000002      ; Sender wants a reply but won't wait 
  105. kAEWaitReply             EQU          $00000003      ; Sender wants a reply and will be waiting 
  106.  
  107. kAENeverInteract         EQU          $00000010      ; Server should not interact with user 
  108. kAECanInteract           EQU          $00000020      ; Server may try to interact with user 
  109. kAEAlwaysInteract        EQU          $00000030      ; Server should always interact with user where appropriate 
  110.  
  111. kAECanSwitchLayer        EQU          $00000040      ; Interaction may switch layer 
  112.  
  113. kAEDontReconnect         EQU          $00000080      ; don't reconnect if there is a sessClosedErr from PPCToolbox 
  114.  
  115. kAEWantReceipt           EQU          $00000200      ; Send wants a receipt of message 
  116.  
  117. kAEDontRecord            EQU          $00001000      ; don't record this event - available only in vers 1.0.1 and greater
  118. kAEDontExecute           EQU          $00002000      ; don't send the event for recording - available only in vers 1.0.1 and greater
  119.  
  120. ; constants to be used in AESendPriority 
  121. kAENormalPriority        EQU          $00000000      ; Post message at the end of event queue 
  122. kAEHighPriority          EQU          $00000001      ; Post message at the front of the event queue 
  123.  
  124. ; Constants for recording
  125. kAEStartRecording         EQU          'reca'         ; available only in vers 1.0.1 and greater
  126. kAEStopRecording         EQU          'recc'         ; available only in vers 1.0.1 and greater
  127. kAENotifyStartRecording     EQU          'rec1'         ; available only in vers 1.0.1 and greater
  128. kAENotifyStopRecording     EQU          'rec0'         ; available only in vers 1.0.1 and greater
  129. kAENotifyRecording         EQU          'recr'         ; available only in vers 1.0.1 and greater
  130.  
  131. ; special constants in generating events 
  132. kAnyTransactionID        EQU          0              ; no transaction is in use 
  133. kAutoGenerateReturnID    EQU          -1             ; AECreateAppleEvent will generate a session-unique ID 
  134.  
  135. ; constant for use AESend 
  136. kAEDefaultTimeout        EQU          -1             ; timeout value determined by AEM 
  137. kNoTimeOut               EQU          -2             ; wait until reply comes back, however long it takes 
  138.  
  139. ; dispatch parameter to AEResumeTheCurrentEvent takes a pointer to a dispatch
  140. ;table, or one of these two constants 
  141. kAENoDispatch            EQU          0
  142. kAEUseStandardDispatch   EQU          -1
  143.  
  144. ; Error messages in response to reading and writing event contents 
  145. errAECoercionFail        EQU          -1700
  146. errAEDescNotFound        EQU          -1701
  147. errAECorruptData         EQU          -1702
  148. errAEWrongDataType       EQU          -1703
  149. errAENotAEDesc           EQU          -1704
  150. errAEBadListItem         EQU          -1705          ; Specified list item does not exist 
  151. errAENewerVersion        EQU          -1706          ; Need newer version of AppleEvent Manager 
  152. errAENotAppleEvent       EQU          -1707          ; The event is not in AppleEvent format 
  153.  
  154. ; Error messages in response to sending/receiving a message 
  155. errAEEventNotHandled     EQU          -1708          ; The AppleEvent was not handled by any handler 
  156. errAEReplyNotValid       EQU          -1709          ; AEResetTimer was passed an invalid reply parameter 
  157. errAEUnknownSendMode     EQU          -1710          ; Mode wasn't NoReply, WaitReply, or QueueReply;     or Interaction level is unknown 
  158. errAEWaitCanceled        EQU          -1711          ; In AESend, User cancelled out of wait loop for  reply or receipt 
  159. errAETimeout             EQU          -1712          ; AppleEvent timed out 
  160.  
  161. errAENoUserInteraction   EQU          -1713          ; no user interaction allowed 
  162. errAENotASpecialFunction EQU          -1714          ; there is no special function with this keyword 
  163. errAEParamMissed         EQU          -1715          ; a required parameter was not accessed 
  164.  
  165. errAEUnknownAddressType  EQU          -1716          ; The target address type is not known 
  166. errAEHandlerNotFound     EQU          -1717          ; No handler in the dispatch tables fits the parameters to
  167.                          ;                                              AEGetEventHandler or AEGetCoercionHandler
  168.  
  169. errAEReplyNotArrived     EQU          -1718          ; the contents of the reply you are accessing have not arrived yet 
  170. errAEIllegalIndex        EQU          -1719          ; Index is out of range in a put operation 
  171.  
  172. errAEUnknownObjectType     EQU          -1731             ; available only in version 1.0.1 or greater
  173. errAERecordingIsAlreadyOn EQU          -1732             ; available only in version 1.0.1 or greater
  174.  
  175.  
  176. ; tagged data, the standard AppleEvent data type 
  177. AEDesc                   RECORD       0
  178. descriptorType           DS.L         1              ; DescType
  179. dataHandle               DS.L         1              ; Handle
  180. size                     EQU          *
  181.                          ENDR
  182.  
  183.  
  184. ;type of param to AEGetInteractionAllowed and AESetInteractionAllowed
  185. kAEInteractWithSelf      EQU          0
  186. kAEInteractWithLocal     EQU          1
  187. kAEInteractWithAll       EQU          2
  188.  
  189. ;Return param to AEGetTheCurrentEvent, and kAEEventSource attribute
  190. kAEUnknownSource         EQU          0
  191. kAEDirectCall            EQU          1
  192. kAESameProcess           EQU          2
  193. kAELocalProcess          EQU          3
  194. kAERemoteProcess         EQU          4
  195.  
  196.  
  197. ; types for AppleEvent Array support 
  198.  
  199. ; Basic data type of attibutes & parameters
  200. AEKeyDesc                RECORD       0
  201. descKey                  DS.L         1              ; AEKeyword
  202. descContent              DS           AEDesc
  203. size                     EQU          *
  204.                          ENDR
  205.  
  206.  
  207. kAEDataArray             EQU          0
  208. kAEPackedArray           EQU          1
  209. kAEHandleArray           EQU          2
  210. kAEDescArray             EQU          3
  211. kAEKeyDescArray          EQU          4
  212.  
  213.  
  214. ; Array routines support these different types of elements
  215. AEArrayData              RECORD       0
  216.                          ORG           AEArrayData
  217. AEDataArray              DS.W         1              ; Array of short
  218.                          ORG           AEArrayData
  219. AEPackedArray            DS.B         1              ; Array of char
  220.                          ORG           AEArrayData
  221. AEHandleArray            DS.L         1              ; Array of Handle
  222.                          ORG           AEArrayData
  223. AEDescArray              DS.B         AEDesc.size*1
  224.                          ORG           AEArrayData
  225. AEKeyDescArray           DS.B         AEKeyDesc.size*1
  226.                          ORG
  227. size                     EQU          *
  228.                          ENDR
  229.  
  230.  
  231.  
  232. ;  *********************************************************************
  233. ;The following calls apply to any AEDesc. Every result descriptor is created for you,
  234. ;so you will be responsible for memory management of the descriptors so created.
  235. ;Purgeable descriptor data is not supported: the AEM does not call LoadResource.  
  236.                          MACRO
  237.                          _AECreateDesc
  238.                          MOVE.W           #$0825,D0
  239.                          _Pack8                      ; A816
  240.                          ENDM
  241.  
  242.                          MACRO
  243.                          _AECoercePtr
  244.                          MOVE.W           #$0A02,D0
  245.                          _Pack8                      ; A816
  246.                          ENDM
  247.  
  248.                          MACRO
  249.                          _AECoerceDesc
  250.                          MOVE.W           #$0603,D0
  251.                          _Pack8                      ; A816
  252.                          ENDM
  253.  
  254.                          MACRO
  255.                          _AEDisposeDesc
  256.                          MOVE.W           #$0204,D0
  257.                          _Pack8                      ; A816
  258.                          ENDM
  259.  
  260.                          MACRO
  261.                          _AEDuplicateDesc
  262.                          MOVE.W           #$0405,D0
  263.                          _Pack8                      ; A816
  264.                          ENDM
  265.  
  266. ;*********************************************************************
  267. ; The following calls apply to AEDescList.
  268. ;  Since AEDescList is a subtype of AEDesc, the calls in the previous
  269. ;  section can also be used for AEDescList. All list and array indices are 1-based.
  270. ;  If the data was greater than maximumSize in the routines below, then actualSize will
  271. ;  be greater than maximumSize, but only maximumSize bytes will actually be retrieved.
  272.                          MACRO
  273.                          _AECreateList
  274.                          MOVE.W           #$0706,D0
  275.                          _Pack8                      ; A816
  276.                          ENDM
  277.  
  278.                          MACRO
  279.                          _AECountItems
  280.                          MOVE.W           #$0407,D0
  281.                          _Pack8                      ; A816
  282.                          ENDM
  283.  
  284.                          MACRO
  285.                          _AEPutPtr
  286.                          MOVE.W           #$0A08,D0
  287.                          _Pack8                      ; A816
  288.                          ENDM
  289.  
  290.                          MACRO
  291.                          _AEPutDesc
  292.                          MOVE.W           #$0609,D0
  293.                          _Pack8                      ; A816
  294.                          ENDM
  295.  
  296.                          MACRO
  297.                          _AEGetNthPtr
  298.                          MOVE.W           #$100A,D0
  299.                          _Pack8                      ; A816
  300.                          ENDM
  301.  
  302.                          MACRO
  303.                          _AEGetNthDesc
  304.                          MOVE.W           #$0A0B,D0
  305.                          _Pack8                      ; A816
  306.                          ENDM
  307.  
  308.                          MACRO
  309.                          _AESizeOfNthItem
  310.                          MOVE.W           #$082A,D0
  311.                          _Pack8                      ; A816
  312.                          ENDM
  313.  
  314.                          MACRO
  315.                          _AEGetArray
  316.                          MOVE.W           #$0D0C,D0
  317.                          _Pack8                      ; A816
  318.                          ENDM
  319.  
  320.                          MACRO
  321.                          _AEPutArray
  322.                          MOVE.W           #$0B0D,D0
  323.                          _Pack8                      ; A816
  324.                          ENDM
  325.  
  326.                          MACRO
  327.                          _AEDeleteItem
  328.                          MOVE.W           #$040E,D0
  329.                          _Pack8                      ; A816
  330.                          ENDM
  331.  
  332. ;*********************************************************************
  333. ;The following calls apply to AERecord.
  334. ;  Since AERecord is a subtype of AEDescList, the calls in the previous
  335. ;  sections can also be used for AERecord
  336. ;  an AERecord can be created by using AECreateList with isRecord set to true 
  337.                          MACRO
  338.                          _AEPutKeyPtr
  339.                          MOVE.W           #$0A0F,D0
  340.                          _Pack8                      ; A816
  341.                          ENDM
  342.  
  343.                          MACRO
  344.                          _AEPutKeyDesc
  345.                          MOVE.W           #$0610,D0
  346.                          _Pack8                      ; A816
  347.                          ENDM
  348.  
  349.                          MACRO
  350.                          _AEGetKeyPtr
  351.                          MOVE.W           #$0E11,D0
  352.                          _Pack8                      ; A816
  353.                          ENDM
  354.  
  355.                          MACRO
  356.                          _AEGetKeyDesc
  357.                          MOVE.W           #$0812,D0
  358.                          _Pack8                      ; A816
  359.                          ENDM
  360.  
  361.                          MACRO
  362.                          _AESizeOfKeyDesc
  363.                          MOVE.W           #$0829,D0
  364.                          _Pack8                      ; A816
  365.                          ENDM
  366.  
  367.                          MACRO
  368.                          _AEDeleteKeyDesc
  369.                          MOVE.W           #$0413,D0
  370.                          _Pack8                      ; A816
  371.                          ENDM
  372.  
  373.  
  374. ;    *********************************************************************
  375. ;    The following calls are used to pack and unpack parameters from records of
  376. ;    type AppleEvent. Since AppleEvent is a subtype of AERecord, the calls in the previous
  377. ;    sections can also be used for variables of type AppleEvent. The next six calls
  378. ;    are in fact identical to the six calls for AERecord.
  379.                          MACRO
  380.                          _AEPutParamPtr
  381.                          MOVE.W           #$0A0F,D0
  382.                          _Pack8                      ; A816
  383.                          ENDM
  384.  
  385.                          MACRO
  386.                          _AEPutParamDesc
  387.                          MOVE.W           #$0610,D0
  388.                          _Pack8                      ; A816
  389.                          ENDM
  390.  
  391.                          MACRO
  392.                          _AEGetParamPtr
  393.                          MOVE.W           #$0E11,D0
  394.                          _Pack8                      ; A816
  395.                          ENDM
  396.  
  397.                          MACRO
  398.                          _AEGetParamDesc
  399.                          MOVE.W           #$0812,D0
  400.                          _Pack8                      ; A816
  401.                          ENDM
  402.  
  403.                          MACRO
  404.                          _AESizeOfParam
  405.                          MOVE.W           #$0829,D0
  406.                          _Pack8                      ; A816
  407.                          ENDM
  408.  
  409.                          MACRO
  410.                          _AEDeleteParam
  411.                          MOVE.W           #$0413,D0
  412.                          _Pack8                      ; A816
  413.                          ENDM
  414.  
  415. ;*********************************************************************
  416. ;The following calls also apply to type AppleEvent.  Message attributes are far more restricted, and
  417. ;can only be accessed through the following 5 calls. The various list and record routines cannot be used
  418. ;to access the attributes of an event. 
  419.                          MACRO
  420.                          _AEGetAttributePtr
  421.                          MOVE.W           #$0E15,D0
  422.                          _Pack8                      ; A816
  423.                          ENDM
  424.  
  425.                          MACRO
  426.                          _AEGetAttributeDesc
  427.                          MOVE.W           #$0826,D0
  428.                          _Pack8                      ; A816
  429.                          ENDM
  430.  
  431.                          MACRO
  432.                          _AESizeOfAttribute
  433.                          MOVE.W           #$0828,D0
  434.                          _Pack8                      ; A816
  435.                          ENDM
  436.  
  437.                          MACRO
  438.                          _AEPutAttributePtr
  439.                          MOVE.W           #$0A16,D0
  440.                          _Pack8                      ; A816
  441.                          ENDM
  442.  
  443.                          MACRO
  444.                          _AEPutAttributeDesc
  445.                          MOVE.W           #$0627,D0
  446.                          _Pack8                      ; A816
  447.                          ENDM
  448.  
  449. ;*********************************************************************
  450. ; The next four calls are basic routines used to create, send, and process AppleEvents. 
  451.                          MACRO
  452.                          _AECreateAppleEvent
  453.                          MOVE.W           #$0B14,D0
  454.                          _Pack8                      ; A816
  455.                          ENDM
  456.  
  457.                          MACRO
  458.                          _AESend
  459.                          MOVE.W           #$0D17,D0
  460.                          _Pack8                      ; A816
  461.                          ENDM
  462.  
  463.                          MACRO
  464.                          _AEProcessAppleEvent
  465.                          MOVE.W           #$021B,D0
  466.                          _Pack8                      ; A816
  467.                          ENDM
  468.  
  469. ;During event processing, an event handler may realize that it is likely
  470. ;to exceed the client's timeout limit. Passing the reply to this
  471. ;routine causes a wait event to be generated to ask the client for more time. 
  472.                          MACRO
  473.                          _AEResetTimer
  474.                          MOVE.W           #$0219,D0
  475.                          _Pack8                      ; A816
  476.                          ENDM
  477.  
  478. ;  *********************************************************************
  479. ;The following four calls are available for applications which need more sophisticated control
  480. ;over when and how events are processed. Applications which implement multi-session servers or 
  481. ;which implement their own internal event queueing will probably be the major clients of these
  482. ;routines.  
  483.  
  484. ; Can be called from within a handler to prevent the AEM from disposing of
  485. ;the AppleEvent when the handler returns. Can be used to asynchronously process the 
  486. ;event (as in MacApp).
  487.                          MACRO
  488.                          _AESuspendTheCurrentEvent
  489.                          MOVE.W           #$022B,D0
  490.                          _Pack8                      ; A816
  491.                          ENDM
  492.  
  493.  
  494. ;     Tells the AppleEvent manager that processing is either about to resume or has
  495. ;    been completed on a previously suspended event. The procPtr passed in as the
  496. ;    dispatcher parameter will be called to attempt to redispatch the event. Several
  497. ;    constants for the dispatcher parameter allow special behavior. They are:
  498. ;    - kAEUseStandardDispatch means redispatch as if the event was just received, using the
  499. ;        standard AppleEvent Dispatcher.
  500. ;    - kAENoDispatch means ignore the parameter.
  501. ;        Use this in the case where no redispatch is needed, and the event has been handled.
  502. ;    - non nil means call the routine which dispatcher points to.
  503.                          MACRO
  504.                          _AEResumeTheCurrentEvent
  505.                          MOVE.W           #$0818,D0
  506.                          _Pack8                      ; A816
  507.                          ENDM
  508.  
  509. ;Allows application to examine the currently executing event
  510.                          MACRO
  511.                          _AEGetTheCurrentEvent
  512.                          MOVE.W           #$021A,D0
  513.                          _Pack8                      ; A816
  514.                          ENDM
  515.  
  516. ;Set the current event to the parameter
  517.                          MACRO
  518.                          _AESetTheCurrentEvent
  519.                          MOVE.W           #$022C,D0
  520.                          _Pack8                      ; A816
  521.                          ENDM
  522.  
  523.  
  524. ;    *********************************************************************
  525. ;     The following three calls are used to allow applications to behave courteously 
  526. ;    when a user interaction such as a dialog box is needed. 
  527.                          MACRO
  528.                          _AEGetInteractionAllowed
  529.                          MOVE.W           #$021D,D0
  530.                          _Pack8                      ; A816
  531.                          ENDM
  532.  
  533.                          MACRO
  534.                          _AESetInteractionAllowed
  535.                          MOVE.W           #$011E,D0
  536.                          _Pack8                      ; A816
  537.                          ENDM
  538.  
  539.                          MACRO
  540.                          _AEInteractWithUser
  541.                          MOVE.W           #$061C,D0
  542.                          _Pack8                      ; A816
  543.                          ENDM
  544.  
  545. ; *********************************************************************
  546. ; These calls are used to set up and modify the event dispatch table  }
  547. ;{ Add an AppleEvent Handler 
  548.                          MACRO
  549.                          _AEInstallEventHandler
  550.                          MOVE.W           #$091F,D0
  551.                          _Pack8                      ; A816
  552.                          ENDM
  553.  
  554. ; Remove an AppleEvent Handler 
  555.                          MACRO
  556.                          _AERemoveEventHandler
  557.                          MOVE.W           #$0720,D0
  558.                          _Pack8                      ; A816
  559.                          ENDM
  560.  
  561. ; Get the corresponding AppleEvent Handler 
  562.                          MACRO
  563.                          _AEGetEventHandler
  564.                          MOVE.W           #$0921,D0
  565.                          _Pack8                      ; A816
  566.                          ENDM
  567.  
  568. ; *********************************************************************
  569. ; These calls are used to set up and modify the coercion dispatch table  
  570.                          MACRO
  571.                          _AEInstallCoercionHandler
  572.                          MOVE.W           #$0A22,D0
  573.                          _Pack8                      ; A816
  574.                          ENDM
  575.  
  576. ; Remove a Coercion Handler 
  577.                          MACRO
  578.                          _AERemoveCoercionHandler
  579.                          MOVE.W           #$0723,D0
  580.                          _Pack8                      ; A816
  581.                          ENDM
  582.  
  583. ; Get the corresponding Coercion Handler 
  584.                          MACRO
  585.                          _AEGetCoercionHandler
  586.                          MOVE.W           #$0B24,D0
  587.                          _Pack8                      ; A816
  588.                          ENDM
  589.  
  590.  
  591. ;    *********************************************************************
  592. ;    These calls are used to set up and modify special hooks into the AppleEvent Manager.
  593.  
  594. ;    Install the special handler named by the Keyword  
  595.                          MACRO
  596.                          _AEInstallSpecialHandler
  597.                          MOVE.W           #$0500,D0
  598.                          _Pack8                      ; A816
  599.                          ENDM
  600.  
  601. ; Remove the special handler named by the Keyword 
  602.                          MACRO
  603.                          _AERemoveSpecialHandler
  604.                          MOVE.W           #$0501,D0
  605.                          _Pack8                      ; A816
  606.                          ENDM
  607.  
  608. ; Get the special handler named by the Keyword 
  609.                          MACRO
  610.                          _AEGetSpecialHandler
  611.                          MOVE.W           #$052D,D0
  612.                          _Pack8                      ; A816
  613.                          ENDM
  614.  
  615. ; **************************************************************************
  616. ; This call was added in version 1.0.1. If called with the keyword
  617. ; keyAERecorderCount ('recr'), the number of recorders that are
  618. ; currently active is returned in 'result'.
  619. ; **************************************************************************
  620.  
  621. ; available only in vers 1.0.1 and greater
  622.                         MACRO
  623.                         _AEManagerInfo
  624.                         MOVE.W            #$0441,D0
  625.                         _Pack8                        ; A816
  626.                         ENDM
  627.  
  628.     ENDIF    ;       ...already included
  629.